package entidades;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name = "Rodamientos")
public class Rodamiento implements Serializable{
	@Id
	private int id;	
	private String codigoSKF;
	@ManyToOne(cascade=CascadeType.ALL)
	@JoinColumn(name="proveedor")
	private Proveedor proveedor;
	private String caracteristica;
	private int medida;
	private String tipo;
	private String marca;
	private String origen;
	private int puntoDePedido;
	private int cantStock;
	private double precioStock;
	/*@OneToOne(cascade = CascadeType.ALL)
	@PrimaryKeyJoinColumn
	private ActualizacionStock stock;*/
	public void setProveedor(Proveedor proveedor) {
		this.proveedor = proveedor;
	}
	public int getCantStock() {
		return cantStock;
	}
	public void setCantStock(int cantStock) {
		this.cantStock = cantStock;
	}
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	
	public String getCodigoSKF() {
		return codigoSKF;
	}
	public void setCodigoSKF(String codigoSKF) {
		this.codigoSKF = codigoSKF;
	}
	
	public Proveedor getProveedor() {
		return proveedor;
	}
	public void setCodigoProveedor(Proveedor proveedor) {
		this.proveedor = proveedor;
	}
	public int getPuntoDePedido() {
		return puntoDePedido;
	}
	public void setPuntoDePedido(int puntoDePedido) {
		this.puntoDePedido = puntoDePedido;
	}
	public String getCaracteristica() {
		return caracteristica;
	}
	public void setCaracteristica(String caracteristica) {
		this.caracteristica = caracteristica;
	}
	public int getMedida() {
		return medida;
	}
	public void setMedida(int medida) {
		this.medida = medida;
	}
	public String getTipo() {
		return tipo;
	}
	public void setTipo(String tipo) {
		this.tipo = tipo;
	}
	public String getMarca() {
		return marca;
	}
	public void setMarca(String marca) {
		this.marca = marca;
	}
	public String getOrigen() {
		return origen;
	}
	public void setOrigen(String origen) {
		this.origen = origen;
	}
	public Rodamiento(int id, String codigoSKF, Proveedor proveedor,
			String caracteristica, int medida, String tipo, String marca,
			String origen, int puntoDePedido, int cantStock, double precioStock) {
		super();
		this.id = id;
		this.codigoSKF = codigoSKF;
		this.proveedor = proveedor;
		this.caracteristica = caracteristica;
		this.medida = medida;
		this.tipo = tipo;
		this.marca = marca;
		this.origen = origen;
		this.puntoDePedido = puntoDePedido;
		this.cantStock = cantStock;
		this.precioStock = precioStock;
	}
	public Rodamiento(int id, String codigoSKF, Proveedor proveedor,
			String caracteristica, int medida, String tipo, String marca,
			String origen, int puntoDePedido, int cantStock) {
		super();
		this.id = id;
		this.codigoSKF = codigoSKF;
		this.proveedor = proveedor;
		this.caracteristica = caracteristica;
		this.medida = medida;
		this.tipo = tipo;
		this.marca = marca;
		this.origen = origen;
		this.puntoDePedido = puntoDePedido;
		this.cantStock = cantStock;
		//stock=new ActualizacionStock(cantStock,new GregorianCalendar(),this);
	}
	public Rodamiento() {
		super();
	}

	public String toString()
	{return this.codigoSKF+ " " + this.caracteristica + " "+ this.marca + " " + this.origen;}
	public double getPrecioStock() {
		return precioStock;
	}
	public void setPrecioStock(double precioStock) {
		this.precioStock = precioStock;
	}
	/*public ActualizacionStock getStock() {
		return stock;
	}
	public void setStock(ActualizacionStock stock) {
		this.stock = stock;
	}*/
	public Rodamiento(String codigoSKF, Proveedor proveedor,
			String caracteristica, int medida, String tipo, String marca,
			String origen, int puntoDePedido, int cantStock, double precioStock) {
		super();
		this.codigoSKF = codigoSKF;
		this.proveedor = proveedor;
		this.caracteristica = caracteristica;
		this.medida = medida;
		this.tipo = tipo;
		this.marca = marca;
		this.origen = origen;
		this.puntoDePedido = puntoDePedido;
		this.cantStock = cantStock;
		this.precioStock = precioStock;
	}
		
	
}
